<?php
    // variable para contener los mensajes
    $mensajes="Sin comenzar";

class PruebaController extends Controller
{

        /**
	 * Carga todos los registros de la tabla
	 */
	public function actionIndex()
	{
		$dataProvider=new CActiveDataProvider('Prueba');
                // muestra la vista index pasandole el dataProvider
                // que necesita el widget
		$this->render('index',array(
			'dataProvider'=>$dataProvider,
		));
	}
	// Uncomment the following methods and override them if needed
	/*
	public function filters()
	{
		// return the filter configuration for this controller, e.g.:
		return array(
			'inlineFilterName',
			array(
				'class'=>'path.to.FilterClass',
				'propertyName'=>'propertyValue',
			),
		);
	}

	public function actions()
	{
		// return external action classes, e.g.:
		return array(
			'action1'=>'path.to.ActionClass',
			'action2'=>array(
				'class'=>'path.to.AnotherActionClass',
				'propertyName'=>'propertyValue',
			),
		);
	}
	*/

        public function actionAjaxProceso() {
                echo "Inicio del proceso";
                Yii::app()->end();
        }
/*
 * Ver aqui ejemplos más sofisticados de intercambio de actualizaciones cliente/controlador
 * http://www.yiiframework.com/forum/index.php?/topic/11270-how-to-display-progress-on-the-form/
 */
        public function actionActualizar() {
            $mensajes="Paso por Actualizar";
            $this->renderPartial('_mensajes', array('model'=>$mensajes));
            $this->actionSegundoPase();
            $this->actionTercerPase();
            Yii::app()->end();
        }

        public function actionSegundoPase() {
            $mensajes="Estoy en segundo Paso...";
            $this->renderPartial('_mensajes', array('model'=>$mensajes));
        }

        public function actionTercerPase() {
            $mensajes="Estoy en TERCER Paso...";
            $this->renderPartial('_mensajes', array('model'=>$mensajes));
        }

}